﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BrightstarDB.EntityFramework;
using System.ComponentModel.DataAnnotations;

namespace SmartTravelAssistant.Models
{
    [Entity("http://schema.org/Person")]    
    public interface IPerson
    {
        /// <summary>
        /// Get the persistent identifier for this entity
        /// </summary>
        // string Id { get; }

        // TODO: Add other property references here
        [Identifier("http://SmartTravelAssistant.ro/Profile/")]
        string Id { get; }

        
        [PropertyType("http://schema.org/name")]
        string Name { get; set; }

        
        [PropertyType("http://schema.org/email")]
        string Email { get; set; }

        
        [PropertyType("http://schema.org/address")]
        string Address { get; set; }

        
        [PropertyType("http://schema.org/gender")]
        string Gender { get; set; }

        
        [PropertyType("http://schema.org/description")]
        string Description { get; set; }        

        
        [PropertyType("http://schema.org/image")]
        string Image { get; set; }       
        

        [PropertyType("http://schema.org/colleagues")]
        ICollection<IPerson> Colleagues { get; set; }

        //[InverseProperty("Attendees")]
        [PropertyType("http://schema.org/performerIn")]
        ICollection<ITrip> AttendedTrips { get; set; }

        //[InverseProperty("Editors")]        
        ICollection<ITrip> CreatedTrips { get; set; }

        [InverseProperty("Profile")]
        ILogin User { get; set; }

        ITrip CurrentTrip { get; set; }
    }
}
